package com.leador.listener;


import com.leador.module.TraceLocation;
import com.leador.module.response.Result;
import com.leador.module.response.entity.EntityCloumnResult;
import com.leador.module.response.entity.EntityResult;

/**
 * 实例回调接口
 */
public abstract class OnEntityListener {

  /**
   * 请求失败的回调
   * @param result
   */
  public abstract void onRequestFailedCallback(Result result);

  /**
   * 添加Entity回调接口
   * @param result
   */
  public void onAddEntityCallback(Result result) {}

  /**
   * 更新Entity回调接口
   * @param result
   */
  public void onUpdateEntityCallback(Result result) {}

  /**
   * 删除Entity回调接口
   * @param result
   */
  public void onDeleteCallback(Result result){};

  /**
   * Entity查询回调
   */
  public void onListEntityCallback(EntityResult entityResult){};

  /**
   * 添加Entity的字段接口
   */
  public void onAddEntityColumn(Result result){};

  /**
   * 查询Entity的字段接口
   */
  public void onQueryEntityColumn(EntityCloumnResult result){};

  /**
   * 删除Entity的字段接口
   */
  public void onDeleteEntityColumn(Result result){};

  /**
   * Entity实时定位回调接口
   * @param location
   */
  public void onReceiveLocation(TraceLocation location) {}
}
